package com.ztgf.order.models.service;

import com.baomidou.mybatisplus.plugins.Page;
import com.baomidou.mybatisplus.service.IService;
import com.ztgf.common.constant.Result;
import com.ztgf.order.models.bo.*;
import com.ztgf.order.models.dto.OrderContractParamRelationDTO;
import com.ztgf.order.models.dto.OrderInfoDTO;
import com.ztgf.order.models.dto.OrderPaymentTypeDTO;
import com.ztgf.order.models.vo.*;
import com.ztgf.pay.models.dto.PayOrderMotherDTO;
import io.swagger.models.auth.In;

import java.io.IOException;
import java.math.BigDecimal;
import java.util.List;
import java.util.Map;

/**
 * 订单支付类型服务
 *
 * @author zeming.lv
 * @Date 2021-09-16 15:32:26
 */
public interface IOrderPaymentTypeService extends IService<OrderPaymentTypeDTO> {

    Result saveOrUpdateOrderPaymentType(OrderPaymentTypeBO orderPaymentTypeBO);

    List<OrderPaymentTypeVO> getOrderPaymentType(Long id);

    OrderPaymentTypeDTO getOrderPaymentByOrderIdAndType(Long orderId, Integer type, Integer paymentType);

    OrderPaymentTypeDTO getOrderPaymentByOrderIdAndPaymentType(Long orderId, Integer paymentType);

    boolean saveDefaultOrderPaymentType(OrderInfoVO orderInfoVO);

    Result updateOrderPaymentType(List<OrderPaymentTypeVO> orderPaymentTypeVOList);

    List<OrderPaymentTypeDTO> queryList(Long orderId);

    void updatePayStatus(Long orderId, Long payRelationId);

}
